<?php if ( ! defined("BASEPATH")) exit("No direct script access allowed");

class Caixa_model extends CI_Model {
		
	public function do_insert($dados=NULL, $redir=TRUE){
		if ($dados != NULL):
			$this->db->insert('caixa', $dados);
			if ($this->db->affected_rows()>0):
				auditoria('Inclusão de Contas a Pagar', 'Nova Conta a Pagar cadastrada no sistema');
			endif;
		endif;
	}
	
	public function do_insert_fechamento($dados=NULL, $redir=TRUE){
		if ($dados != NULL):
			$this->db->insert('caixa_fechamento', $dados);
			if ($this->db->affected_rows()>0):
				auditoria('Inclusão de Contas a Pagar', 'Nova Conta a Pagar cadastrada no sistema');
			endif;
		endif;
	}
	
	public function do_update($dados=NULL, $condicao=NULL, $redir=TRUE){
		if ($dados != NULL && is_array($condicao)):
			$this->db->update('caixa', $dados, $condicao);
			if ($this->db->affected_rows()>0):
				auditoria('Alteração de Contas a Pagar', 'Conta a Pagar com o id "'.$condicao['id'].'" foram alteradas');
				set_msg('msgok', 'Alteração efetuada com sucesso', 'sucesso');
			else:
				set_msg('msgerro', 'Erro ao atualizar dados', 'erro');
			endif;
			if ($redir) redirect(current_url());
		endif;
	}
	
	public function do_delete($condicao=NULL, $redir=TRUE){
		if ($condicao != NULL && is_array($condicao)):
			$this->db->delete('caixa', $condicao);
			if ($this->db->affected_rows()>0):
				auditoria('Exclusão de Contas a Pagar', 'Contas a Pagar com o id "'.$condicao['id'].'" foram excluidas');
				set_msg('msgok', 'Registro excluído com sucesso', 'sucesso');
			else:
				set_msg('msgerro', 'Erro ao excluir registro', 'erro');
			endif;
			if ($redir) redirect(current_url());
		endif;
	}
	
	public function get_all(){
		$this->db->where('data', date('Y-m-d'));
		$this->db->order_by('id', 'DESC');
		return $this->db->get('caixa');
	}
	
	public function get_ultimo(){
		$this->db->order_by('id', 'DESC');
		$this->db->limit(1);
		return $this->db->get('caixa');
	}

	public function get_byid($id=NULL, $campo = 'id'){
		if ($id != NULL):
			$this->db->where($campo, $id);
			return $this->db->get('caixa');
		else:
			return FALSE;
		endif;
	}
	
	public function get_ultimo_fechamento(){
		$this->db->order_by('id', 'DESC');
		$this->db->limit(1);
		return $this->db->get('caixa_fechamento');
	}
	
	public function get_saldo_fechamento($data_abertura){
		$this->db->where('data >=', $data_abertura);
		$this->db->where('data <=', date('Y-m-d'));
		return $this->db->get('caixa');
	}
		
}

/* End of file caixa_model.php */
/* Location: ./application/models/caixa_model.php */